#pragma once
#include "stdafx.h"

using namespace System;
using namespace System::Runtime::InteropServices;

namespace Adaptive
{
	namespace Win32
	{
		[ StructLayout(LayoutKind::Sequential, CharSet = CharSet::Unicode) ]
		public value struct ManagedLuid
		{
		public:
			unsigned int LowPart;
            unsigned int HighPart;
		};

		[StructLayout(LayoutKind::Sequential, CharSet = CharSet::Unicode)]
        public value struct ManagedLuidWithAttributes
        {
		public:
            ManagedLuid Luid;
            unsigned int Attributes;
        };

		[StructLayout(LayoutKind::Sequential, CharSet = CharSet::Unicode)]
        public value struct ManagedTokenPrivileges
        {
		public:
			unsigned int PrivilegeCount;
            array<ManagedLuidWithAttributes>^ Privilege;
        };
	}
}